<?php
/*
 * Listar Alimentos para Encuestas de Consumo en Pacientes.
 * @Autor: Andrés Ubilla.
 */
class Listar extends TPage {
    
    public function onLoad($param){
        parent::onLoad($param);
        
        if(!$this->IsPostBack){
            $this->validarSession();
            $this->cargarInterfaz();
        }
    }
    
    private function validarSession(){
        $oUsuario = Util::getSession("Usuario");
        if(Util::isNullOrEmpty($oUsuario)){
            $this->Response->redirect($this->Service->constructUrl("Home"));
        }
    }
    
    private function cargarInterfaz(){
        $arrAlimentos = $this->obtenerAlimentos();
        $this->iniciarControles($arrAlimentos);
    }
    
    private function obtenerAlimentos(){
        $oAlimento = new Alimentos();
        $oAlimentoBLL = new AlimentosBLL();
        $arrAlimentos = $oAlimentoBLL->listar($oAlimento);
        
        return $arrAlimentos;
    }
    
    private function iniciarControles($arrAlimentos){      
        $mensaje = Util::getSession("Mensaje");
        if(!Util::isNullOrEmpty($mensaje)){
            $this->litAlert->Text = $mensaje;
            Util::setSession("Mensaje", null);
        }
        
        if(count($arrAlimentos) > 0){
            $this->pnlCabecera->Visible = false;
            $this->pnlSinRegistros->Visible = false;
            $this->pnlAlimentos->Visible = true;            
            $this->dgAlimentos->DataSource = $arrAlimentos;
            $this->dgAlimentos->dataBind();
        }else{
            $this->pnlCabecera->Visible = true;
            $this->pnlAlimentos->Visible = false;
            $this->pnlSinRegistros->Visible = true;
        }
    }
    
    public function btnEliminarAlimentoOnClick(){
        $id = $this->idAlimento->Value;
        
        $oAlimentoBLL = new AlimentosBLL();
        $resultado = $oAlimentoBLL->eliminar($id);
        
        if(!Util::isNullOrEmpty($resultado)){
            $this->litAlert->Text = Util::setMensajeUsuario("Error al eliminar el Alimento, por favor vuelva a intentarlo.", Util::MENSAJE_ERROR);
        }else{ 
            $this->cargarInterfaz();
            $this->litAlert->Text = Util::setMensajeUsuario("Alimento eliminado exitosamente.", Util::MENSAJE_OK);            
        }
    }
}
?>
